<title>learning php</title>
<?php
header('content-type:text/html;charset=utf-8');
// php的基础语法

echo "echo的功能：输出一个或者多个字符串，多个之间用逗号隔开",'<br/>';

// 声明变量，变量名称重复时，后面的会覆盖前面的值
$username='李忠诚';
$age='24';
$sex='男';

// 变量可以不声明直接使用, php会notice一下，但并非错误, 在配置文件中可以配置notice不显示
echo '不声明直接使用变量: ',$undefinedVariables;

// 可变变量
// 可变变量其实就是——已声明的变量前，再上变量符
$i='j';
$j='k';
$k='hello world';
echo $$$i;
echo '<br/>';

// 数据类型

// 整型可以有多种进制，默认是10进制
$int_8=0123; // 以0开头，表示8进制
$int_16=0x123; // 以0x开头，表示16进制
$int_10=123;

echo $int_8;
echo '<br/>';
echo $int_16;
echo '<br/>';
echo $int_10;
echo '<br/>';

// 浮点型
// 可以用科学计数法来表示浮点数，这个时候，使用e或者E都可以
$floatVar=2e4; // 2*10^4
echo $floatVar;


// 字符串的定界符可以使单引号，也可以是双引号
// 1. 单引号不解析变量，但是双引号解析变量
// 2. 单引号引号里面不解析转义符,注意,\t\r这种东西在界面只显示成一个空格
echo '$floatVar';
echo "$floatVar";
echo 'a\t\rt';
echo "a\t\rt",'<br/>';

// php中双引号的变量名匹配是按照最长匹配的
echo "我的名字是: $username",'<br/>'; // 这是正常的情况
echo "$username是我",'<br/>'; // 这是非正常的情况
echo "$username 是我",'<br/>'; // 这也是正常情况
echo "{$username}是我",'<br/>'; // 使用花括号解决刚才的问题，显示正常

// 花括号还可以对字符串进行增删改查
$username='lizhongcheng';
echo $username{1},'<br/>'; // 查找字符串中的位置为index上的字符
$username{0}='L111'; // 更改字符串指定index上的字符，只取L111当中的头一个字符进行替换
echo $username,'<br/>';
$username='李忠诚';
$username{0}='h'; // 不能对中文字符做这种操作

$username='lizhongcheng';
$username{1}=''; // 将字符串指定index上的字符设置成空字符，完成删除字符的操作
echo '删除字符: ',$username,'<br/>';

$username{15}='i'; // 超过原有的Index范围，相当于增加字符
echo '增加字符',$username,'<br/>';

// heredoc<相当于双引号>和nowdoc<相当于单引号>字符串定界符
// 使用heredoc可以不用对双引号进行转义，在写html代码的时候比较方便

$heredocStr=<<<EOF
  Tis is the heredoc string
  <h1>heredoc format long string</h1>
EOF;
echo $heredocStr;

// 测试系统常亮
echo PHP_INT_MAX,'<br/>';
echo PHP_VERSION,'<br/>';
echo PHP_OS,'<br/>';

// 通过define(NAME,VALUE);定义常量
define('NAME', 'lizhongcheng'); // 常量不带$符号,区分大小写,一经定义，全局都可使用
echo NAME;
define('NAME', 'hahah');
echo NAME;

// 通过const NAME=VALUE;定义常量
const AGE=23;
echo '<br/>',AGE;

echo constant(PHP_VERSION);

// 下面代码的执行逻辑？
$i=4;
echo $i+++$i--;

$str='a'.'bcddd';
$str1='fjwofjowjf';
echo '<br/>',$str.$str1;


// php数组
